#ifndef __PRINTPSH__
#define __PRINTPSH__

#include "wx/prntbase.h"

class wxPostScriptPrinter : public wxPrinterBase {
  public:
    wxPostScriptPrinter( wxPrintDialogData *data = ( wxPrintDialogData * ) NULL );
    virtual ~wxPostScriptPrinter();

    virtual bool Print( wxWindow *parent, wxPrintout *printout, bool prompt = true );
    virtual wxDC* PrintDialog( wxWindow *parent );
    virtual bool Setup( wxWindow *parent );

  private:
    DECLARE_DYNAMIC_CLASS( wxPostScriptPrinter )
};

class wxPostScriptPrintPreview : public wxPrintPreviewBase {
  public:
    wxPostScriptPrintPreview( wxPrintout *printout,
                              wxPrintout *printoutForPrinting = ( wxPrintout * ) NULL,
                              wxPrintDialogData *data = ( wxPrintDialogData * ) NULL );
    wxPostScriptPrintPreview( wxPrintout *printout,
                              wxPrintout *printoutForPrinting,
                              wxPrintData *data );

    virtual ~wxPostScriptPrintPreview();

    virtual bool Print( bool interactive );
    virtual void DetermineScaling();

  private:
    void Init( wxPrintout *printout, wxPrintout *printoutForPrinting );

  private:
    DECLARE_CLASS( wxPostScriptPrintPreview )
};

#endif
